/*
 * ChatInterfaceImp.java
 *
 * Created on 2007年6月5日, 上午9:45
 *
 * 花开堪折须直折，莫待无花空折枝！
 *
 */

package com.ecomm.chat.interfaces;

import com.ecomm.chat.manager.ChatListenManager;
import com.ecomm.chat.manager.ChatThread;
import com.ecomm.chat.pojo.ChatMessage;
import com.ecomm.util.DateUtils;
import com.ecomm.util.UUID;

/**
 *消息接口，提供2个方法，其实这2个方法实现是一样的，
 *只是传入的参数不一样。
 * <p>Title: 易讯聊天系统</p>
 * <p>Description:
 *  易讯聊天系统
 * </p>
 * <p>Copyright: Copyright (c) 2007</p>
 * <p>Company: 联合易讯 </p>
 * @author <font color='blue'>ppliang</font> &nbsp&nbsp<a href="mailto:pijunliang@hotmail.com">pijunliang@hotmail.com</a>
 * @version 1.0
 * @data  2007年6月5日, 上午9:45
 */
public class ChatInterfaceImp implements ChatInterface<ChatMessage> {
  
  /** Creates a new instance of ChatInterfaceImp */
  private ChatInterfaceImp() {
  }
  private static ChatInterfaceImp chatInterfaceImp = null;
  
  public static ChatInterfaceImp getInstance(){
    if(chatInterfaceImp == null){
      chatInterfaceImp = new ChatInterfaceImp();
    }
    return chatInterfaceImp;
  }
  /**
   *测试 聊天系统的 其它类型
   * com.ecomm.chat.interfaces.ChatInterface<com.ecomm.chat.pojo.ChatMessage> ci = com.ecomm.chat.interfaces.ChatInterfaceImp.getInstance();
   * com.ecomm.chat.pojo.ChatMessage cm = new com.ecomm.chat.pojo.ChatMessage();
   *
   *cm.setAcceptUserid("userdbf1f7d88385,userdc2e38d88385,");
   *接收人可以为多个，但是不能为空 ，为多个的时候用逗号分开
   * cm.setBigtype("1");//首先大类型 不能为2。工作流就是为1
   * cm.setType("2");跟对应的 大类型关联，在COMMONMENTHOD 中有对应的值
   * cm.setMessage("1329");消息内容
   * cm.setUrl("#"); 需要加URL的？
   * cm.setSenduserid("0000"); // 发送人 可以为空
   * ci.send(cm);
   *
   *
   */
  public void send(ChatMessage chatmess) {
    if(chatmess !=null){
      chatmess.setSendtime(DateUtils.getCurrTime());
      String acceptuserid = chatmess.getAcceptUserid();
      if(chatmess.getAcceptUserid() != null &&  acceptuserid.indexOf(",") > 0){
        acceptuserid = acceptuserid.substring(0,acceptuserid.indexOf(","));
      }
      chatmess.setParentid(ChatListenManager.getInstance().chatListen(chatmess.getSenduserid(),acceptuserid));
      
      new ChatThread(chatmess,"send").start();//调用消息接口
    }
  }
  /**
   *String senduserid 发送人 可以为空
   * String acceptuserids 接收人可以为多个，但是不能为空 ，为多个的时候用逗号分开
   * String bigtype 首先大类型 不能为2。工作流就是为1
   * String type 跟对应的 大类型关联，在COMMONMENTHOD 中有对应的值
   * String message 消息内容
   * String url 需要加URL的？
   */
  public void send(String senduserid,String acceptuserids,String bigtype,
      String type,String message,String url) {
    
    ChatMessage cm = new ChatMessage();
    
    cm.setAcceptUserid(acceptuserids);
    //接收人可以为多个，但是不能为空 ，为多个的时候用逗号分开
    cm.setBigtype(bigtype);//首先大类型 不能为2。工作流就是为1
    cm.setType(type);//跟对应的 大类型关联，在COMMONMENTHOD 中有对应的值
    cm.setMessage(message);//消息内容
    cm.setUrl(url); //需要加URL的？
    
    this.send(cm);
  }
  public static void main(String[] args) {
    String acceptuserid = "userdbf1f7d88385,userdc2e38d88385,";
    acceptuserid = acceptuserid.substring(0,acceptuserid.indexOf(","));
    System.out.println("acceptuserid=========="+acceptuserid);
  }
}
